The growth of banking operations has resulted in a considerable increase in the number of checks in circulation and in an increase in the written work necessary for accounting purposes; an example of the written work is up-dating of customers' accounts. It has therefore become necessary to automate a number of the check processing operations, such as sorting, bank and customer code checking, debit noting, as well as calculating and recording of appropriate credit in the account of each customer.
This automation was made possible by the use of checks which, in addition to the normal kind of writing, also carry magentic writing made up of characters which can be read both by the human eye and by machines. Typically, the magnetic characters are coded in seven lines, known by the abbreviated name of CMC 7, as described, inter alia, in approved French Standard NFK 11 of January 1968. The characters appear at the bottom of a check in the form of a band of markings occupying the entire length of the check. The characters are divided into three parts which contain codes relating respectively to the check circulation, the drawer identity and the check amount.
By automatically reading the codes carried in this band of markings, processing systems are able to perform a certain number of oeprations, amongst which are (a) check sorting, as determined by the account on which the check is drawn; (b) allocating the amount specified to the account designated; (c) keeping the bank account books and the customer accounts, and so on. It is clear that accuracy must be observed in such operations. Accuracy depends chiefly on correctly reading the codes which determine these operations; it is therefore essential to check each code read by the system, so as to remove any risk of error, and for the code to be validated before the check is handled by the processing system.
For this purpose, it is known to associate with each code a checking key which bears an unequivocal relationship to the nature, value and relative disposition of the elements making up the code. This key may be explicit, that is, it may be formed by a figure or number which is calculated as a function of the composition of any given code which is added, for example, to the end of the code. The key could equally well be implicit when all the codes are so composed as to satisfy a predetermined law, for example, the sum or product of the code components being equal to or divisible by a predetermined number.
A particularly convenient and widely used type of checking key is known as a "transposition check digit", or TCD for short. In the TCD, the check digit is derived by multiplying each of the numerical values of the elements making up the code by a coefficient which depends on the relative position in the code of the element concerned. These multiplied values are added together and divided by a given numer or modulus. The remainder of the division operation is determined and complemented to the modulus. If the code has been correctly read, the complemented remainder is equal to zero to validate the read code.
This relatively complex checking procedure requires considerable processing time. This time is added to that required by the sorting operations so that there is a reduction in available time for a central processing unit (CPU) of the system to carry out its primary data processing function. In one available system, the time available for the CPU to check the codes and process the data, between the time data are transferred to memory and the time a command is given to select a sorting compartment, is only 40 ms.
With a view to overcoming this drawback while retaining the advantages afforded by checking codes using a TCD, the processing system disclosed in U.S. patent application Ser. No. 834,982, filed Sept. 20, 1977, now abandoned, commonly assigned with the present application, was invented. The system for processing recorded data described in this application differs from the prior art mainly because the code checking operations of controlling document sorting and transferring checked data to be processed become the responsibility of the peripheral unit controller. The code checking operations are not performed by the CPU, which is thus relieved of these tasks and is able to devote itself exclusively to processing the data with no real-time restrictions associated with the system operation.
This advantageous way of organizing the system implies that the controller must first be provided with processing means which are sufficiently elaborate to perform, within a reasonable time, the complex calculations involved in TCD code checking. While one of the prior art uses of reading coded data has been in connection with magnetic indicia on checks, it is to be understood that other types of data can be so read and the invention is not limited to reading check coded data.